This disclosure will refer to a particular implementation of these techniques in the MATHEMATICA® software system available from Wolfram Research, Inc. The methods themselves are more general and could be implemented in a variety of software environments. To understand the illustrations, however, requires some familiarity with the MATHEMATICA® environment.
MATHEMATICA® is a powerful computational tool that can evaluate general symbolic expressions, as well as mathematical and numeric expressions. A unifying feature of MATHEMATICA® is that everything is internally represented as a symbolic expression, with all more specific data types treated as special cases—symbols to which additional rules apply. MATHEMATICA® is an interpreted language, with a notion of “evaluation” of symbolic expressions. The system evaluates expressions by applying to any symbolic expression all transformation rules that fit the expression.
In the MATHEMATICA® software system, a user can create interactive electronic documents referred to as “notebooks.” Various expressions, including numeric expressions, symbolic expressions, graphics expressions, user-interface elements, dynamic/interactive elements, etc. can be entered into a notebook via a keyboard, for example, and a user can cause the expression to be evaluated. The MATHEMATICA® software system includes a library of built-in functions (a type of expression) for performing numeric or symbolic analysis, creating plots and graphics, formatting the display of outputs, etc. Additionally, a user can build a large number of other functions using combinations of the library functions. When the MATHEMATICA® software system evaluates an expression, which may include one or more of the built-in library functions, it builds a new expression representing the result.
If the MATHEMATICA® software system is to be used for data analysis, the data must be created using the MATHEMATICA® software system or somehow imported into the system via a notebook, a file, etc. To import data into a notebook, a user may “Cut” or “Copy” the data from a web page, a word processing document, a spread sheet, etc. Additionally, it may be necessary to convert the data to a format appropriate for the desired analysis. For example, numerical data copied from a web page may be in an ASCII text format, and it may be necessary to convert it to a numeric format such as an integer format, a floating point format, etc., prior to performing an analysis or processing of the data. Alternatively, a user could utilize library functions provided with the MATHEMATICA® software system or provided by a third-party to import data from a file. Such functions require the location of the file to be specified.